home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / fax / src / port / sun / defs next >
Text File  |  1994-08-01  |  9KB  |  316 lines

  1. #    $Header: /usr/people/sam/fax/port/sun/RCS/defs,v 1.34 1994/03/29 01:07:22 sam Rel $
  2. #
  3. # FlexFAX Facsimile Software
  4. #
  5. # Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994 Sam Leffler
  6. # Copyright (c) 1991, 1992, 1993, 1994 Silicon Graphics, Inc.
  7. # Permission to use, copy, modify, distribute, and sell this software and 
  8. # its documentation for any purpose is hereby granted without fee, provided
  9. # that (i) the above copyright notices and this permission notice appear in
  10. # all copies of the software and related documentation, and (ii) the names of
  11. # Sam Leffler and Silicon Graphics may not be used in any advertising or
  12. # publicity relating to the software without the specific, prior written
  13. # permission of Sam Leffler and Silicon Graphics.
  14. # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  15. # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  16. # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  17. # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  18. # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  19. # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  20. # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  21. # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  22. # OF THIS SOFTWARE.
  23. #
  24.  
  25. #
  26. # These definitions are for building the software on a Sun3 or
  27. # Sun4 under SunOS 4.1.1 using gcc 2.2.2 or 2.3.1 and libg++2.2
  28. # with the patch described in the README file in this directory.
  29. #
  30. # TARGET:    sun
  31. # COMPILER:    gcc
  32. #
  33. SHELL    = /bin/sh
  34. DESTDIR    = .
  35. NULL    =
  36. MAKEFILE= Makefile
  37.  
  38. #
  39. # Location of auxiliary stuff needed for a Sun4 or Sun3
  40. #
  41. PORT    = ${DEPTH}/port/sun
  42. GENERIC    = ${DEPTH}/port/generic
  43. #
  44. # Basic tools used in the build process.
  45. #
  46. C++    = ${TOOLROOT}/usr/local/bin/gcc
  47. CC    = ${TOOLROOT}/usr/local/bin/gcc
  48. NAWK    = ${TOOLROOT}/usr/bin/nawk
  49. INSTALL    = sh ${PORT}/install.sh
  50. MKDEPEND= ${GENERIC}/mkdepend
  51. AR    = ${TOOLROOT}/usr/bin/ar
  52. RANLIB    = ${TOOLROOT}/usr/bin/ranlib
  53. SED    = ${TOOLROOT}/usr/bin/sed
  54.  
  55. #
  56. # AR options for creating/updating an archive
  57. #
  58. AROPTS=    crl
  59.  
  60. #
  61. # SunOS wants BSD-style getty support.
  62. #
  63. SYSGETTY=GettyBSD.c++
  64.  
  65. #
  66. # SunOS wants System V-style UUCP lock support.
  67. #
  68. UUCP_LOCKDIR=/var/spool/locks
  69. UUCP_LOCKTYPE=0
  70. UUCP_LOCKMODE=0444
  71.  
  72. #
  73. # Location of Adobe Font Metrics for lptops.
  74. #
  75. AFMDIR=/usr/openwin/lib/fonts/afm
  76.  
  77. #
  78. # PostScript imager for server.  PSPACKAGE is one of:
  79. #
  80. # dps    for Display Postscript
  81. # gs    for Ghostscript
  82. #
  83. # and PSIMAGER is the pathname of the binary executable.
  84. #
  85. PSPACKAGE=gs
  86. PSIMAGER=/usr/local/bin/gs
  87.  
  88. #
  89. # Mail program for sending notification messages.
  90. #
  91. SENDMAIL=/usr/lib/sendmail
  92.  
  93. #
  94. # Default optimizer and prototype options
  95. #
  96. OPTIMIZER=-g
  97. #PROTOTYPES=-prototypes
  98. CVERSION=-ansi -D__ANSI_CPP__
  99. C++FILE=-x c++
  100.  
  101. # default definitions for programs--overide them as desired
  102. LIBS=    ${LIBUTIL} ${LIBTIFF} ${LIBIV}
  103. LLDLIBS=${LIBS} ${MACHDEPLIBS}
  104. #
  105. # Override this definition to eliminate shared library use.
  106. #
  107. SHDLIBC=-lc
  108.  
  109. #
  110. # Libraries that may vary from machine to machine (especially if
  111. # you use GNU GCC instead of AT&T C++).
  112. #
  113. MACHDEPLIBS=-lg++
  114. #
  115. # You must have v3.0 or newer of the TIFF library.  If
  116. # you already have it installed, or if you have version 3.0
  117. # or newer of InterViews installed (which includes the TIFF
  118. # library), you can point these to those places.  Otherwise,
  119. # you can just use the code provided here.
  120. #
  121. TIFF=    ${DEPTH}/libtiff
  122. LIBTIFF=${TIFF}/libtiff.a
  123. #
  124. # If you already have InterViews 3.0 or newer installed,
  125. # define these to be something like:
  126. #
  127. #IV=    /usr/include
  128. #LIBIV=    /usr/lib/libIV.a
  129. # Otherwise you can just use the subset of classes used by
  130. # the fax software and collected here in a hacked-up library.
  131. #
  132. IV=    ${DEPTH}/iv
  133. LIBIV=    ${IV}/libivhack.a
  134. # random utility functions and classes
  135. UTIL=    ${DEPTH}/util
  136. LIBUTIL=${UTIL}/libfaxutil.a
  137.  
  138. #
  139. # Uid&Gid for installing server stuff.  Note that the server process
  140. # proper (/usr/etc/faxd or similar) must either run setuid root or
  141. # setuid uucp (i.e. fax and uucp must have the same uid).  This is
  142. # so that the fax server can participate in the UUCP locking scheme
  143. # and thereby implement tty line sharing (i.e. share the same line
  144. # and modem for both fax and data).
  145. #
  146. FAXUSER=uucp
  147. FAXGROUP=uucp
  148.  
  149. #
  150. # Directories where stuff gets placed:
  151. #
  152. # BIN        client-directed applications
  153. # LIBDATA    client-directed application library data files
  154. # LIBEXEC    client-directed application library executables
  155. # SPOOL        spooling area for servers
  156. # DOC        non-manual documentation
  157. # USRETC    place for servers (faxd & faxd.recv)
  158. #
  159. BIN=    /usr/local/bin
  160. LIBDATA=/usr/local/lib/fax
  161. LIBEXEC=/usr/local/lib/fax
  162. SPOOL=    /var/spool/fax
  163. DOC=    /usr/local/doc/flexfax
  164. USRETC=    /usr/etc
  165. #
  166. # Manual-related controls:
  167. #
  168. # MAN        head of manual tree
  169. # MANAPP    subdirectory for stuff in BIN
  170. # MANSYS    subdirectory for server & server-related apps
  171. # MANFILES    subdirectory for file format info 
  172. # PAGEDIRT    temp files to remove on clean/clobber
  173. #
  174. MAN    = /usr/local/man
  175. MANAPPS    = man1
  176. MANSYS    = man8
  177. MANFILES= man5
  178.  
  179. MANCAPP    = ${CLIENTAPPS}
  180. MANCFILE= ${CLIENTFILES:.4f=.5f}
  181. MANSAPP    = ${SERVERAPPS:.1m=.8c}
  182. MANSFILE= ${SERVERFILES:.4f=.5f}
  183. PAGEDIRT= ${MANCFILE} ${MANSAPP} ${MANSFILE}
  184.  
  185. .SUFFIXES: .1m .4f .5f .8c
  186. .1m.8c:; ${MANSED} -e 's/1M/8C/' -e 's/4F/5F/' $< > $@
  187. .4f.5f:; ${MANSED} -e 's/1M/8C/' -e 's/4F/5F/' $< > $@
  188.  
  189. # programs used during installation
  190. ECHO=    /bin/echo
  191. FTR=    /usr/sbin/ftr
  192. GREP=    /bin/grep
  193. RM=    /bin/rm
  194. KILLALL=/etc/killall
  195. PWD=    /bin/pwd
  196. CHROOT=    /etc/chroot
  197.  
  198. #
  199. # Definitions used by common rules.
  200. #
  201. COMMONRULES=${DEPTH}/rules
  202. COMMONTARGS= clobber clean rmtargets depend incdepend
  203.  
  204. #
  205. # C compiler flags are composed of variable (set on the command line),
  206. # local (defined in the makefile), and global (defined in this file)
  207. # parts, in that order.  This ordering is used so that variable or
  208. # locally specified include directories are searched before the globally
  209. # specified ones.
  210. #
  211. CFLAGS=    ${CVERSION} ${VCFLAGS} ${LCFLAGS} ${GCFLAGS}
  212.  
  213. VCFLAGS=${VCDEFS} ${VCINCS} ${VCOPTS}
  214. LCFLAGS=${LCDEFS} ${LCINCS} ${LCOPTS}
  215. GCFLAGS=${GCDEFS} ${GCINCS} ${GCOPTS}
  216.  
  217. COPTS=    ${VCOPTS} ${LCOPTS} ${GCOPTS}
  218. CDEFS=    ${VCDEFS} ${LCDEFS} ${GCDEFS}
  219. CINCS=    ${VCINCS} ${LCINCS} ${GCINCS}
  220.  
  221. GCOPTS=${OPTIMIZER} ${PROTOTYPES}
  222. GCDEFS=-Dsun
  223. GCINCS=    -I. -I${DEPTH} -I${PORT} -I${GENERIC} -I${UTIL} -I${TIFF}
  224. #
  225. # C++ flags are decomposed using the same hierarchy as C flags.
  226. #
  227. C++FLAGS=${CVERSION} ${VC++FLAGS} ${LC++FLAGS} ${GC++FLAGS}
  228.  
  229. VC++FLAGS=${VC++DEFS} ${VC++INCS} ${VC++OPTS}
  230. LC++FLAGS=${LC++DEFS} ${LC++INCS} ${LC++OPTS}
  231. GC++FLAGS=${GC++DEFS} ${GC++INCS} ${GC++OPTS}
  232.  
  233. C++OPTS=${VC++OPTS} ${LC++OPTS} ${GC++OPTS}
  234. C++DEFS=${VC++DEFS} ${LC++DEFS} ${GC++DEFS}
  235. C++INCS=${VC++INCS} ${LC++INCS} ${GC++INCS}
  236.  
  237. GC++OPTS=${OPTIMIZER}
  238. GC++INCS=-I. -I${DEPTH} -I${PORT} -I${GENERIC} -I${UTIL} -I${IV} -I${TIFF}
  239. GC++DEFS=-Dsun
  240.  
  241. #
  242. # Loader flags, composed of library (-l's) and option parts, with
  243. # the libraries appearing last.  Both of these are divided into variable,
  244. # local, and global parts.  The composition of LDFLAGS is done in the
  245. # other "direction" from CFLAGS so that all the -L's, that are part of
  246. # LDOPTS, appear before any of the -l's, which are part of LDLIBS.
  247. # Another benefit of segregating the libraries from the remaining of the
  248. # loader options is that the libraries alone can easily be given to
  249. # another program, e.g., lint.
  250. #
  251. # Notes:
  252. #   - If a program should not be linked with the shared version of libc,
  253. #     then its make file should override the setting of SHDLIBC with a
  254. #     line such as "SHDLIBC=".
  255. #
  256. LDFLAGS=${LDOPTS} ${LDLIBS}
  257.  
  258. LDOPTS=${VLDOPTS} ${LLDOPTS} ${GLDOPTS}
  259. LDLIBS=${VLDLIBS} ${LLDLIBS} ${GLDLIBS}
  260.  
  261. GLDOPTS=
  262. GLDLIBS=${SHDLIBC}
  263.  
  264. #
  265. # Convenient command macros that include the flags macros.
  266. #
  267. C++F=    ${C++} ${C++FLAGS}
  268. CCF=    ${CC} ${CFLAGS}
  269.  
  270. #
  271. # Shell script for generating make dependencies.  MKDEPEND is a shorthand
  272. # for the tool's absolute pathname.  MKDEPENDC adds MKDEPCFLAGS and the -c
  273. # mkdepend option to this.  The other language's mkdepend variables try to
  274. # include their language's name in the variable names.  Unfortunately, a
  275. # lot of makefiles already use the nondescript LMKDEPFLAGS for C language
  276. # mkdepend options, so we initialize LMKDEPCFLAGS with ${LMKDEPFLAGS}.
  277. #
  278. MKDEPENDC++    =${MKDEPEND} ${MKDEPC++FLAGS} -c "${C++F} ${C++FILE} -M"
  279. MKDEPENDC    =${MKDEPEND} ${MKDEPCFLAGS} -c "${CCF} -M"
  280.  
  281. MKDEPC++FLAGS    =${VMKDEPC++FLAGS} ${LMKDEPC++FLAGS} ${GMKDEPC++FLAGS}
  282. MKDEPCFLAGS    =${VMKDEPCFLAGS} ${LMKDEPCFLAGS} ${GMKDEPCFLAGS}
  283. LMKDEPCFLAGS    =${LMKDEPFLAGS}
  284.  
  285. GMKDEPFLAGS    =-e 's@ ${INCLDIR}/@ $${INCLDIR}/@' -e 's@ ${ROOT}/@ $${ROOT}/@'
  286. GMKDEPC++FLAGS    =${GMKDEPFLAGS} -s C++ -e 's@\.c++\.o *: @\.o: @'
  287. GMKDEPCFLAGS    =${GMKDEPFLAGS}
  288.  
  289. #
  290. # Macro to add to LMKDEPCFLAGS or LMKDEPC++FLAGS if your makefile builds
  291. # single-source programs using null suffix rules (e.g., .c:}.  This option
  292. # works for both C and C++ make depend.
  293. #
  294. NULLSUFFIX_MKDEPFLAG=-e 's@\.o+*:@:@'
  295. #
  296. # MKDEPFILE is the name of the dependency database, included by rules.
  297. #
  298. MKDEPFILE=Makedepend
  299. #
  300. # CDEPFILES lists all C or cc-compiled source files that depend on header
  301. # files computable by ${MKDEPENDC}.  C++DEPFILES lists all C++ files having
  302. # dependencies computable by ${MKDEPENDC++}.
  303. #
  304. C++DEPFILES=${C++FILES}
  305. CDEPFILES=${CFILES}
  306. DEPFILES=${C++DEPFILES} ${CDEPFILES}
  307.  
  308. #
  309. # Directory shorthands, mainly for make depend (see GMKDEPFLAGS above).
  310. #
  311. INCLDIR    =${ROOT}/usr/include
  312.